1. Field of the Invention
This invention relates generally to automatic test equipment and processes, and more particularly to testing timing characteristics of high-speed devices.
2. Description of Related Art
Manufacturers of integrated circuits use automatic test equipment (ATE) to test devices during the manufacturing process. ATE allows manufacturers to diagnose defects early, and thus saves costs that would otherwise be spent processing defective parts. ATE also allows manufacturers to grade devices across different levels of performance. As better performing devices generally fetch higher prices, the ability to test integrated circuits translates into increased profits.
A primary goal of automatic test equipment (ATE) is to test electronic devices quickly and accurately. As electronic devices become faster, ATE must advance to keep pace with these improvements.
One recent area of rapid technological growth has been SerDes technology. As is known, SerDes devices convert parallel data streams into serial bit streams that change at a multiple of the input, parallel data rate. They also perform the reverse function of deserializing serial bit streams, by converting them into parallel data streams that change at a fraction of the serial data rates. SerDes devices are now available at serial bit rates up to 10 Gb/s (billion bits per second), and 40 Gb/s parts will soon be offered.
Specialized techniques have been developed to test SerDes devices. One such technique is disclosed in U.S. patent application Ser. No. 09/635,334, now U.S. Pat. No. 6,694,462, entitled “CAPTURING AND EVALUATING HIGH SPEED DATA STREAMS,” which is hereby incorporated by reference.
FIG. 1 shows a simplified version of a test setup presented in that prior patent application. The test setup of FIG. 1 is suitable for testing a device under test 120 (“DUT”), such as a SerDes device. As shown, the test setup includes a component tester 110 having a host processor 112, a timing generator 114, a memory 116, detector circuits 118a, and driver circuits 118b. The host processor 112 stores a test program (not shown) for controlling the component tester 110. The timing generator 114 includes circuitry for producing timing signals at precise instants in time defined by the test program. The timing signals control the times at which input signals can be captured by detector circuits 118a, and the times at which output signals can be asserted by driver circuits 118b. The memory 116 stores the digital levels of signals sampled by the detector circuits 118a. It also stores the digital levels of signals to be outputted by the driver circuits 118b. 
The test setup includes a sampling circuit 130, which may be part of the test system 110 or may be independent. The sampling circuit 130 is generally capable of sampling at much higher rates than the detector circuits 118a of the tester. The sampling circuit 130 preferably includes a comparator portion 132 and a latch portion 134. The latch portion 134 has an output that is coupled to a detector circuit 118a to allow the tester 110 to read back latched values from the output of the sampling circuit 130. A STROBE signal, provided by a driver circuit 118b, drives a Latch Enable (LE) input of the latch portion 134. When the STROBE signal activates the LE input, the sampling circuit 130 holds at its output whatever level is present at its input and maintains that level regardless of changes at its input. When the STROBE signal de-activates, the latch portion 134 becomes transparent.
By properly arranging the test program, the tester 110 can produce a CLOCK signal for activating the DUT to produce a known bit stream. The tester can also produce the STROBE signal for sampling this bit stream at precisely controllable instants of time. Because the DUT generally operates at higher speeds than the tester, direct, sequential sampling is generally not feasible, and the tester preferably undersamples the bit stream, i.e., it stimulates the DUT to repetitively output the same bit stream and samples the bit stream at different timing locations on successive iterations. Preferably, the sampling period is set to be a very small timing increment longer than the repetition period of the bit stream, so that the STROBE signal effectively “walks” through the bit stream with very high effective timing resolution.
FIG. 2 shows various aspects of an undersampling process employed by the above-incorporated prior patent application. The tester 110 stimulates the DUT to repetitively produce a known bit stream 210. The tester also produces the STROBE signal 212 for directing the sampling circuit to sample the bit stream 210. To capture different portions of the bit stream 210, the tester preferably advances the STROBE signal 212 through time on successive iterations. A sequence of STROBE signals 220 cause the sampling circuit and test system to undersample the bit stream at an effective sampling rate sufficiently high to capture a large number of samples at each signal edge.
The sampling circuit 130 is preferably a binary sampler. At each STROBE location (i.e., for each sample), the sampling circuit outputs a logic ‘1’ or a logic ‘0,’ in response to the logical state of the bit stream being either a ‘1’ or ‘0,’ respectively, at the instant of sampling.
FIG. 2 shows an exploded region 214 of the bit stream, which includes an edge 216. It is evident that the edge does not occur at a precisely fixed point in time, but rather varies slightly upon different iterations of the bit stream due to timing jitter.
Because the bit stream is subject to jitter, samples taken at the same timing location of an edge transition do not yield repeatable results. Sometimes, for example, a rising edge (‘0’to ‘1’) will occur slightly later than normal, causing the sampling circuit to output a ‘0.’ Other times, the rising edge will occur slightly earlier than normal, causing the sampling circuit to output a ‘1.’ It should be noted that for differential signals a signal is a ‘1’ if the high side of the differential signal is more positive than the low side. For single-ended signals, a signal is ‘1’ if it exceeds a threshold level.
If the same timing location is sampled a large number of times, the statistical average of the samples corresponds to the probability that the bit stream is a 1 at that timing location. By repetitively sampling the bit stream at each timing location and averaging the corresponding samples, a probability curve 222 is produced that describes the probability that the bit stream is a 1 as a function of time.
As shown in FIG. 2, the probability curve 222 has a low region 224, wherein repeated samples consistently read ‘0.’ It also has a high region 228, wherein samples consistently read ‘1.’ Between these high and low regions is a transition region 226, wherein the probability is between ‘0 and ‘1’ that an edge occurs. Samples in this region are sometimes ‘0’ and sometimes ‘1.’ If jitter is Gaussian, the shape of the probability curve 222 is S-shaped in this transition region 226.
In statistical terminology, the probability curve 222 describes a Cumulative Distribution Function, or “CDF,” of the edge position. Preferably, the effective sampling rate is high enough so that a large number of samples are located in the vicinity of the edge (only several such points are shown in FIG. 2 for ease of illustration). The CDF can thus be constructed with high resolution.
Once the CDF is known, other statistical properties can be estimated. In the prior art, statistical properties are obtained by subjecting the CDF to an Inverse Gaussian CDF transform (ERF function in C library). The resulting function is then least-squares fit to a straight line. The Y-intercept of the resulting line gives the mean of the distribution, i.e., mean edge position, and the slope of the line gives the standard deviation.
We have recognized some shortcomings with this prior technique. For instance, this technique requires a great deal of data. In order to construct a CDF accurately, multiple samples (e.g., 128) are taken at each timing location, and a great many timing locations are preferably used. Processing this large amount of data tends to be computationally intensive. We have also found that the very act of averaging masks certain useful information about jitter. Some components of jitter are attributable to short term effects, such as random noise, whereas other components are attributable to long term effects, such as temperature changes. Because averaging combines samples taken over a relatively long period of time (e.g., the time required to collect 128 samples of each point), it effectively mixes together these short term and long term effects, making it difficult to observe short term and long term effects separately. In addition, the prior technique assumes that the distribution of samples is Gaussian. It can therefore give inaccurate results for bi-modal or other types of distributions.
We have recognized that better accuracy for non-Gaussian distributions may be obtained by applying well-known statistical formulae to the CDF. This alternative technique is now described in reference to FIG. 3.
FIG. 3 shows a CDF 310 and a Probability Density Function, or “PDF” 312. As is known, the PDF 312 is the first derivative of the CDF 310. From the PDF, first and second moments M1 and M2 can be computed for any time interval, t1 to t2, where
                    M1        =                              ∫            t1            t2                    ⁢                                    t              *                        ⁢                          PDF              ⁡                              (                t                )                                      ⁢                                                  ⁢                          ⅆ              t                                                          (                  EQ          .                                          ⁢          1                )            
and
                    M2        =                              ∫            t1            t2                    ⁢                                                    t                2                            *                        ⁢                          PDF              ⁡                              (                t                )                                      ⁢                                                  ⁢                                          ⅆ                t                            .                                                          (                  EQ          .                                          ⁢          2                )            The mean edge location μ equals the first moment M1 of the PDF, i.e., μ=M1. The variance equals the difference between the second moment and the first moment squared, M2−M12. The standard deviation σ in edge location is given by the square root of the variance, which expands into
                    σ        =                                                            (                                                      ∫                    t1                    t2                                    ⁢                                                            t                                              2                        *                                                              ⁢                                          PDF                      ⁡                                              (                        t                        )                                                              ⁢                                                                                  ⁢                                          ⅆ                      t                                                                      )                            -                              μ                2                                              .                                              (                      EQ            .                                                  ⁢            3                    )                ⁢                                      Therefore, given the CDF for any signal edge, the mean, variance, and standard deviation of the signal edge can be readily deduced, without regard for whether the distribution of samples is Gaussian.
Although this approach yields more accurate results for non-Gaussian distributions, it still requires a CDF, and thus requires a great deal of data. It also acquires samples over a long period of time and thus tends to mix together long-term and short-term components of jitter. What is desired is a less time-consuming technique for accurately measuring jitter.